package com.geowiki.action;


import java.util.List;

import com.geowiki.model.Usuario;

import com.geowiki.service.UsuarioService;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.Preparable;

public class UsuarioAction implements Preparable {
    private UsuarioService service;
    private List<Usuario> usuarios;
    private Usuario usuario;
    private Long idUsuario;

    public UsuarioAction(UsuarioService service) {
        this.service = service;
    }

    public String execute() {
        this.usuarios = service.findAll();        
        return Action.SUCCESS;
    }

    public String save() {
        this.service.save(usuario);
        this.usuario = new Usuario();
        return execute();
    }

    public String remove() {
        service.remove(idUsuario);
        return execute();
    }

    public List<Usuario> getUsuarios() {
        return usuarios;
    }

    public Long getIdUsuario() {
        return idUsuario;
    }

    public void setId(Long idUsuario) {
        this.idUsuario = idUsuario;
    }

    public void prepare() throws Exception {
        if (idUsuario != null)
            usuario = service.find(idUsuario);
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }
}
